A Practical Tutorial for FermaT and WSL Transformations

نویسندگان

  • Doni Pracner
  • Zoran Budimac
چکیده

Software evolution is mainly about how program code changes in its environment. A very important part of these changes is the re-engineering of software that can be done very efficiently and more importantly reliably by using tools that offer formally provable transformations. FermaT is the current implementation of the language WSL (short for Wide Spectrum Language) and the surrounding code transformation libraries. It is available under the GPL v3 software licence and works on most computer platforms, including Linux, Windows and Mac OS. Early versions of this tool were developed as “The Maintainer’s assistant”[Ward 1989] and it has been developed and reimplemented since then. It has been used in several industrial projects of converting legacy assembly code to human understandable and maintainable C and COBOL[Ward 1999][Ward 2004][Ward et al. 2004][Ward 2013]. It also has support for program slicing[Ward and Zedan 2017] and can be used to derive program code from abstract specifications[Ward and Zedan 2014]. A companion graphical application FermaT Maintenance Environment (FME)[Ladkau 2007] is also available and can be very useful especially for initial experiment with the transformation system. This tutorial will give just a brief overview of WSL and some of the needed ideas and will not go into depths with the syntax of the language that is available in the official manual[Ward et al. 2008]. This paper is organised as follows: Section 2 shows some aspects of FermaT and how to use it and expand it, mainly through the expression and condition simplifiers (Section 2.1. A working example is introduced in Section 2.2, which is then developed into a full transformation that can be added to the system in Section 2.3. Finally Section 3 gives a brief conclusion to the paper. Along the way Some

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Program Slicing via FermaT Transformations

In this paper we give a brief introduction to the foundations of WSL transformation theory and describe how the concept of program slicing can be formalised in the theory. This formalism naturally lends itself to several generalisations including amorphous slicing and conditioned slicing. One novel generalisation is “semantic slicing” which combines slicing and abstraction to a specification. I...

متن کامل

Constraint Based Transformation Theory Document Type Transfer Report

The migration of a legacy system is one of the most challenging tasks in the area of software evolution. There are existing several different approaches to migrate a legacy system with different advantages and disadvantages. One solution is to translate the software into an intermediate language which spans from the low abstraction level to the very high abstraction level. Once the software has...

متن کامل

Development and Usability Evaluation of an Online Tutorial for “How to Write a Proposal” for Medical Sciences Students

Background and Objective: Considering the importance of learning how to write a proposal for students, this study was performed to develop an online tutorial for “How to write a Proposal” for students and to evaluate its usability. Methods: This study is a developmental research and tool design. “Gamified Online Tutorial based on Self-Determination Theory (GOT-STD) Framework" became the basis f...

متن کامل

A wide spectrum type system for transformation theory

0.1 History Of Type Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0.1.1 Lambda Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0.1.2 Type Systems In Imperative Programming Languages . . . . . . . . . . . . . 2 0.1.3 Type Systems In Object-Oriented Programming Languages . . . . . . . . . . . 5 0.1.4 Type Systems In Functional Programming...

متن کامل

A tutorial on Quasi-experimental designs

A main step in answering a scientific hypothesis in an epidemiological study is deciding which type of study is suitable to be undertaken, considering methodology, practical considerations and budget and time limitations

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017